using System;
using System.Collections.Generic;
using System.Text;

namespace SanFS.MediaChangerLibrary
{
    /// <summary>
    /// Interface representing a storage element which contains a data transfer component (a drive)
    /// </summary>
    public interface IDataTransferStorageElement
    {
        /// <summary>
        /// Mount the storage element
        /// </summary>
        void Mount();
        
        /// <summary>
        /// Unmount the storage element
        /// </summary>
        void Unmount();
        
        /// <summary>
        /// True if the drive is currently mounted
        /// </summary>
        bool IsMounted {get; }
        
        /// <summary>
        /// True if the drive is read-only
        /// </summary>
        bool IsReadOnly { get; }
        
        /// <summary>
        /// Path to the device entry (ie: /dev/sr0)
        /// </summary>
        string DevicePath { get; set; }
        
        /// <summary>
        /// Path to where the device should be mounted when loaded (ie: /mnt/dataxfer-0)
        /// </summary>
        string MountPoint { get; set; }
    }  // END INTERFACE
}  // END NAMESPACE
